home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / compdem.zip / COMPRES2.BI < prev    next >
Text File  |  1992-12-14  |  6KB  |  113 lines

  1. '----------------------------Supporting Record Structures----------------
  2.  
  3.     'Supporting .ZIP file structures
  4.     TYPE LocalFileHeader
  5.         Signature AS LONG
  6.         ExtractVer  AS INTEGER
  7.         GenPurFlag  AS INTEGER
  8.         Method      AS INTEGER
  9.         FTime       AS INTEGER
  10.         FDate       AS INTEGER
  11.         Crc32       AS LONG
  12.         CompSize    AS LONG
  13.         UnCompSize  AS LONG
  14.         FilNamLen   AS INTEGER
  15.         ExtraFldLen AS INTEGER
  16.     END TYPE
  17.  
  18.     TYPE EndOfCentralDir
  19.         Signature   AS LONG
  20.         DiskNum     AS INTEGER
  21.         DiskWCD     AS INTEGER      'Disk number with start of central dir
  22.         NumThisDisk AS INTEGER      'Number of entries in CD on this disk
  23.         TotalCD     AS INTEGER      'Total number of entires in CD
  24.         CDSize      AS LONG
  25.         CDOffset    AS LONG         'Offset of CD on first disk with CD
  26.         CommentLen  AS INTEGER      'Length of zip file comment
  27.     END TYPE
  28.  
  29.     'Supporting Lha file structures
  30.     TYPE LhaDirRecFixed
  31.         HeaderSize  AS STRING * 1
  32.         CheckSum    AS STRING * 1
  33.         Method      AS STRING * 5
  34.         CompSize    AS LONG
  35.         UnCompSize  AS LONG
  36.         FTime       AS INTEGER
  37.         FDate       AS INTEGER
  38.         FilAttr     AS INTEGER
  39.         FilNamLen   AS STRING * 1
  40.     END TYPE
  41.  
  42. '-------------------High-Level Routines-----------------------------------
  43.  
  44. DECLARE SUB EtCheckPath (Path$)
  45. DECLARE FUNCTION EtCheckDiskSpace%(FileName$,SpaceNeeded&)
  46. DECLARE FUNCTION EtCreatePath% (Path$)
  47. DECLARE FUNCTION EtExpandFileName$ (Name$)
  48. DECLARE FUNCTION EtFindEnd% (InputString$)
  49. DECLARE FUNCTION EtFindSig% (Handle%, Sig$, SigPos&, Dir%)
  50. DECLARE FUNCTION EtFixWildCard$ (Spec$)
  51. DECLARE FUNCTION EtGetStringL$ (Handle%, Size%, Status%)
  52. DECLARE FUNCTION EtGetString0$ (Handle%, Status%)
  53. DECLARE FUNCTION EtMatchFile% (pName$, pSpec$)
  54. DECLARE FUNCTION OkChar% (A$, Intype%, LegalChar$)
  55. DECLARE SUB EtParseCmdLine (Cmd$, Sep$, Params$(), Found%)
  56. DECLARE SUB EtPathName (PathName$, Drive$, Path$, Name$)
  57. DECLARE SUB EtPrintLeftS (Text$, Row%, Col%)
  58. DECLARE SUB EtPrintRightS (Text$, Row%, Col%)
  59. DECLARE SUB EtTextColor ()
  60. DECLARE FUNCTION EtUnZipFile% (InHandle%, OutHandle%, CompSize&, Method%, Flag%, CRC&, PrintOn%)
  61. DECLARE FUNCTION EtZipAttr$ (DosAtt&, Flag%)
  62. DECLARE FUNCTION EtZipFile% (InHandle%, OutHandle%, InFileSize&, CompMethod%, CompLen&, Crc32&)
  63. DECLARE FUNCTION EtZipPercent% (USize&, CSize&)
  64.  
  65. '------------Low-level Compression/Decompression Routines---------------------
  66.  
  67. DECLARE FUNCTION EtHuffmanBufSize& ()
  68. DECLARE SUB EtHuffmanInit (BYVAL BufSeg%, BYVAL BufOfs%)
  69. DECLARE FUNCTION EtHuffmanScan% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  70. DECLARE FUNCTION EtHuffman% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  71.  
  72. DECLARE FUNCTION EtImplodeBufSize& ()
  73. DECLARE SUB EtImplodeInit (BYVAL BufSeg%, BYVAL BufOfs%)
  74. DECLARE FUNCTION EtImplodeScan% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  75. DECLARE FUNCTION EtImplode% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  76.  
  77. DECLARE FUNCTION EtMashBufSize& ()
  78. DECLARE SUB EtMashParams (BYVAL MaxBits%, BYVAL RleFirst%)
  79. DECLARE SUB EtMashInit (BYVAL BufSeg%, BYVAL BufOfs%)
  80. DECLARE FUNCTION EtMash% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  81.  
  82. DECLARE FUNCTION EtScrunchBufSize& ()
  83. DECLARE SUB EtScrunchInit (BYVAL BufSeg%, BYVAL BufOfs%)
  84. DECLARE FUNCTION EtScrunch% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  85.  
  86. DECLARE FUNCTION EtShrinkBufSize& ()
  87. DECLARE SUB EtShrinkInit (BYVAL BufSeg%, BYVAL BufOfs%)
  88. DECLARE FUNCTION EtShrink% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  89.  
  90. '----------------------------
  91.  
  92. DECLARE FUNCTION EtHuffmanUCBufSize& ()
  93. DECLARE SUB EtHuffmanUCInit (BYVAL BufSeg%, BYVAL BufOfs%)
  94. DECLARE FUNCTION EtHuffmanUC% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  95.  
  96. DECLARE FUNCTION EtImplodeUCBufSize& ()
  97. DECLARE SUB EtImplodeUCParams (BYVAL ThreeTrees%, BYVAL EightKWindow%)
  98. DECLARE SUB EtImplodeUCInit (BYVAL BufSeg%, BYVAL BufOfs%)
  99. DECLARE FUNCTION EtImplodeUC% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  100.  
  101. DECLARE FUNCTION EtMashUCBufSize& ()
  102. DECLARE SUB EtMashUCParams (BYVAL MaxBits%, BYVAL RleFirst%)
  103. DECLARE SUB EtMashUCInit (BYVAL BufSeg%, BYVAL BufOfs%)
  104. DECLARE FUNCTION EtMashUC% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  105.  
  106. DECLARE FUNCTION EtScrunchUCBufSize& ()
  107. DECLARE SUB EtScrunchUCInit (BYVAL BufSeg%, BYVAL BufOfs%)
  108. DECLARE FUNCTION EtScrunchUC% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  109.  
  110. DECLARE FUNCTION EtShrinkUCBufSize& ()
  111. DECLARE SUB EtShrinkUCInit (BYVAL BufSeg%, BYVAL BufOfs%)
  112. DECLARE FUNCTION EtShrinkUC% (BYVAL InBufSeg%, BYVAL InBufOfs%, BYVAL InStart&, InSize&, BYVAL OutBufSeg%, BYVAL OutBufOfs%, BYVAL OutStart&, OutSize&, BYVAL IntVarSeg%, BYVAL IntVarOfs%, BYVAL EndOfInput%)
  113.